/**   
* @Title: WXUnifiedOrderModel.java 
* @Package com.txby.wxpay 
* @Description: TODO(用一句话描述该文件做什么) 
* @author jacking  
* @date 2017年10月30日 下午7:15:50 
* @version V1.0   
*/
package com.txby.wxpay;

import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/** 
 * 支付参数模型
* @ClassName: WXUnifiedOrderModel 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author jacking
* @date 2017年10月30日 下午7:15:50 
*  
*/
@Data
@NoArgsConstructor
public class WXUnifiedOrderModel {
	/**
	 * 商品描述
	 */
	@Getter @Setter
	private String body;
	/**
	 * 商户订单号
	 */
	@Getter @Setter
	private String out_trade_no;
	/**
	 * 设备号
	 * 自定义参数，可以为终端设备号(门店号或收银设备ID)，PC网页或公众号内支付可以传"WEB"
	 */
	@Getter @Setter
	private String device_info;
	/**
	 * 标价币种
	 */
	@Getter @Setter
	private String fee_type="CNY";
	/**
	 * 标价金额
	 */
	@Getter @Setter
	private String total_fee;
	/**
	 * 终端IP
	 * APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP
	 */
	@Getter @Setter
	private String spbill_create_ip;
	/**
	 * 通知地址
	 * 异步接收微信支付结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。
	 */
	@Getter @Setter
	private String notify_url;
	
	/**
	  交易类型
	  JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付，统一下单接口trade_type的传参可参考这里

    MICROPAY--刷卡支付，刷卡支付有单独的支付接口，不调用统一下单接口

	 */
	@Getter @Setter
	private String trade_type="NATIVE";
	/**
	 * 商品ID
	 * trade_type=NATIVE时（即扫码支付），此参数必传。此参数为二维码中包含的商品ID，商户自行定义
	 */
	@Getter @Setter
	private String product_id;
	
	/** 
	* <p>Title: </p> 
	* <p>Description: </p> 
	* @param body
	* @param out_trade_no
	* @param device_info
	* @param fee_type
	* @param total_fee
	* @param spbill_create_ip
	* @param notify_url
	* @param trade_type
	* @param product_id 
	*/
	public WXUnifiedOrderModel(String body, String out_trade_no, String device_info, String fee_type, String total_fee,
			String spbill_create_ip, String notify_url, String trade_type, String product_id) {
		super();
		this.body = body;
		this.out_trade_no = out_trade_no;
		this.device_info = device_info;
		this.fee_type = fee_type;
		this.total_fee = total_fee;
		this.spbill_create_ip = spbill_create_ip;
		this.notify_url = notify_url;
		this.trade_type = trade_type;
		this.product_id = product_id;
	}
	
	
	 
     

}
